﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt.postgresql
{
	// Token: 0x02000122 RID: 290
	public class TExecuteSqlStatement : TCustomSqlStatement
	{
		// Token: 0x06000948 RID: 2376 RVA: 0x003032D7 File Offset: 0x003014D7
		public TExecuteSqlStatement() : this(EDbVendor.dbvpostgresql)
		{
		}

		// Token: 0x06000949 RID: 2377 RVA: 0x003032E1 File Offset: 0x003014E1
		public TExecuteSqlStatement(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstpostgresqlExecute;
		}

		// Token: 0x0600094A RID: 2378 RVA: 0x003032F5 File Offset: 0x003014F5
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			return 0;
		}

		// Token: 0x0600094B RID: 2379 RVA: 0x0030330A File Offset: 0x0030150A
		public override void init(object arg1)
		{
			this.stmtString = (TExpression)arg1;
		}

		// Token: 0x0600094C RID: 2380 RVA: 0x00303318 File Offset: 0x00301518
		public override void init(object arg1, object arg2)
		{
			this.init(arg1);
			this.intoVariable = (TObjectName)arg2;
		}

		// Token: 0x1700019E RID: 414
		// (get) Token: 0x0600094D RID: 2381 RVA: 0x0030332D File Offset: 0x0030152D
		// (set) Token: 0x0600094E RID: 2382 RVA: 0x00303335 File Offset: 0x00301535
		public virtual TObjectName IntoVariable
		{
			get
			{
				return this.intoVariable;
			}
			set
			{
				this.intoVariable = value;
			}
		}

		// Token: 0x1700019F RID: 415
		// (get) Token: 0x0600094F RID: 2383 RVA: 0x0030333E File Offset: 0x0030153E
		// (set) Token: 0x06000950 RID: 2384 RVA: 0x00303346 File Offset: 0x00301546
		public virtual TExpression StmtString
		{
			get
			{
				return this.stmtString;
			}
			set
			{
				this.stmtString = value;
			}
		}

		// Token: 0x170001A0 RID: 416
		// (get) Token: 0x06000951 RID: 2385 RVA: 0x0030334F File Offset: 0x0030154F
		// (set) Token: 0x06000952 RID: 2386 RVA: 0x00303357 File Offset: 0x00301557
		public virtual TExpressionList UsingVariables
		{
			get
			{
				return this.usingVariables;
			}
			set
			{
				this.usingVariables = value;
			}
		}

		// Token: 0x06000953 RID: 2387 RVA: 0x00303360 File Offset: 0x00301560
		public override void init(object arg1, object arg2, object arg3)
		{
			this.init(arg1, arg2);
			this.usingVariables = (TExpressionList)arg3;
		}

		// Token: 0x06000954 RID: 2388 RVA: 0x00303376 File Offset: 0x00301576
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000955 RID: 2389 RVA: 0x00303386 File Offset: 0x00301586
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0400123E RID: 4670
		private TExpression stmtString;

		// Token: 0x0400123F RID: 4671
		private TObjectName intoVariable;

		// Token: 0x04001240 RID: 4672
		private TExpressionList usingVariables;
	}
}
